EDA tools, such as a circuit simulator, are critical aspects of the modern circuit design process. The design process is a highly interactive process where the designer uses, for example, the simulator to explore a given circuit design and to ensure that the design will function adequately for its intended purpose.
To maximize the effectiveness and efficiency of the design process, it is important that the interactive exploration process of circuit design be as efficient and as natural as possible. Therefore, an effective EDA tool should allow the circuit designer to easily determine the effect of various design parameters and component values on a circuit, as well as any changes to those values.
To represent and visualize the behavior of a circuit design, the circuit simulator or other EDA tool will often generate one or more waveforms that correspond to the circuit. Waveforms may be used to describe many types of properties and characteristics of a circuit design. In many cases, particularly for the design of analog or mixed analog-digital circuits, waveforms provide the best and most efficient visual indication of the behavior of the circuit design.
One potential problem is that with modern circuit simulators, each waveform or set of waveforms could potentially correspond to a very large quantity of underlying data. This underlying data could include a massive amount of information relating to the many coordinate points along the waveform paths. Given this large quantity of data, a significant amount of system resources and overhead may be required by conventional tools to access and view the waveforms. Such overhead could include, for example, the network traffic, IO resources, and disproportionate amount of time needed to transfer the data from the EDA tool or other storage location for the waveform data and to render the waveform on the device being used by a user to view the waveform. This introduces excessively unproductive delays with conventional waveform viewers between the time a user selected a waveform or a portion of a waveform to be viewed and the time the selected waveform is actually displayed for viewing.
This document describes an improved system and method for handling and displaying waveform data. While the present document describes embodiments in which the waveforms are generated from a simulation tool, it is noted that the present invention is not limited to being used in conjunction just EDA tools, and may be used in conjunction with any source of waveforms, such as for example, waveforms that are measured and recorded from operation of a physical circuit. Other and additional objects, features, and advantages of the invention are described in the detailed description, figures, and claims.